package ils.services;

import ils.domain.issue.model.Issue;
import ils.domain.issue.model.Item;
import ils.domain.issue.model.Reserve;

import java.util.List;

public interface IssueService
{

    int RESERVES_PAGE_SIZE = 10;
    int ISSUES_PAGE_SIZE = 10;
    public Reserve request(int bookId, int userId);
    public Issue issue(String barcode, int userId);
    public void returnBack(int bookId, int userId);
    public void returnBack(String barcode, int userId);
    public Issue release(String barcode, int userId);
    public List<Issue> getAUsersOpenIssues(int userId);
    public List<Reserve> getReservations(int firstResult);
    public List<Issue> getOpenIssues(int firstResult);
    public List<Reserve> getReservationsForUser(int userId);
    public Item addItem(Item item, int shelfId);
    public List<Issue> getIssuesForABook(int bookId, int firstResult, int count);
}
